# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Peggle Nights Template

game: Peggle Nights
requires:
  version: 0.7.229 # Version of MWGG required for this yaml to work as expected.
  game:
    Peggle Nights: 1.0.2 # Version of the world required for this yaml to work as expected.

Peggle Nights:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ################
  # Goal Options #
  ################
  goal:
    # Determines the victory condition.
    # 
    # Shadow Pegs + Final Level: Collect enough Shadow Pegs to unlock a Final Level and clear it.
    # Shadow Peg Hunt: Collect a set number of Shadow Pegs spread across the multiworld.
    shadow_pegs_final_level: 50
    shadow_peg_hunt: 0

  shadow_pegs_total:
    # Determines how many Shadow Pegs are in the item pool.
    # 
    # This number will not be allowed to go over 2 * (number of levels) and will be clamped accordingly if so.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    40: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  shadow_pegs_required:
    # Determines how many Shadow Pegs are required to either win or unlock the final level.
    # 
    # If this number is higher than the total number of Shadow Pegs, it will be set to that number instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  ##################
  # Master Options #
  ##################
  master_selection_mode:
    # Determines how Masters are selected for the multiworld.
    # 
    # Single Master: Only one Master will be randomly picked from your selection and usable for the entire game.
    # 
    # Multiple Masters: Multiple Masters will be randomly picked from your selection.
    # 
    #                   You will be granted a Starting Master. Others will have to be unlocked by receiving their
    #                   corresponding item before they can be used.
    single_master: 0
    multiple_masters: 50

  master_selection:
    # Determines which Masters can be considered for inclusion in the multiworld.
    # 
    # Set any Master you don't want to possibly play as to false.
    # 
    # At least one Master needs to be selected to play this implementation.
    Bjorn: true
    Claude: true
    Jimmy Lightning: true
    Kat Tut: true
    Lord Cinderbottom: true
    Marina: true
    Master Hu: true
    Renfield: true
    Splork: true
    Tula: true
    Warren: true

  master_count:
    # Determines how many Masters will be picked from your selection for inclusion in the multiworld.
    # 
    # If this number is higher than the size of your Master selection, it will be set to that number instead.
    # 
    # If Master Selection Mode is set to Single Master, this option will be ignored and only 1 Master will be selected.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 11
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-11: 0 # random value between 1 and 11

  #################
  # Level Options #
  #################
  level_selection:
    # Determines which Levels can be considered for inclusion in the multiworld.
    # 
    # Set any Level you don't want to possibly play to false.
    # 
    # A minimum of 5 Levels must be selected to play this implementation.
    1-1 Crimewave: true
    1-2 Call For Help: true
    1-3 Horsepower: true
    1-4 Just Desserts: true
    1-5 Bjorn Identity: true
    10-1 Pick One: true
    10-2 Turn It To Zen: true
    10-3 Wild Thing: true
    10-4 We Will Rock You: true
    10-5 Feel The Noize: true
    11-1 Jelly Jeopardy: true
    11-2 Ouroboros: true
    11-3 The Deep: true
    11-4 Water Whirled: true
    11-5 Diploma, See?: true
    12-1 Psyclone: true
    12-2 Why You Buggin'?: true
    12-3 Wyrm Sign: true
    12-4 The Rising: true
    12-5 Shadowshine: true
    13-1 Plants v. Zombies: true
    13-2 The Guardians: true
    13-3 Spaint!: true
    13-4 To The Limit: true
    13-5 Blue Slough: true
    14-1 Lolly Drop: true
    14-2 Bloomin': true
    14-3 Magic Hour: true
    14-4 Tulip Leaves: true
    14-5 Fluffy Sunnies: true
    2-1 Experiment X: true
    2-2 Brrrzap!: true
    2-3 Antitoxic: true
    2-4 Breakthrough: true
    2-5 Smartiness: true
    3-1 Scary Night: true
    3-2 Seasick: true
    3-3 Nooooo!!!: true
    3-4 Twitching Hour: true
    3-5 Nowhere Stairs: true
    4-1 Step Right Up: true
    4-2 Parade!: true
    4-3 Me-Yowwww!: true
    4-4 Jump The Squid: true
    4-5 Death Defying: true
    5-1 Bowl Of Drome: true
    5-2 Arrivance: true
    5-3 Last Ball: true
    5-4 Explodious: true
    5-5 Perfectified: true
    6-1 Pollution Picnic: true
    6-2 Vast Visitor: true
    6-3 Eiffel Power: true
    6-4 Old Friends: true
    6-5 Au Revoir: true
    7-1 Founding Fathers: true
    7-2 The Henge: true
    7-3 Many Minarets: true
    7-4 It's A Dry Heat: true
    7-5 Wall Flower: true
    8-1 Inferno: true
    8-2 Water Wings: true
    8-3 Steppin' Out: true
    8-4 Fire Eater: true
    8-5 Letting Off Steam: true
    9-1 X Marks The Loot: true
    9-2 Beats Driving: true
    9-3 Tomb Of Doom: true
    9-4 I Love Carats: true
    9-5 Great Ball of Ire: true

  level_count:
    # Determines how many Levels will be picked from your selection for inclusion in the multiworld.
    # 
    # If this number is higher than the size of your Level selection, it will be set to that number instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 70
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-70: 0 # random value between 5 and 70

  ####################
  # Location Options #
  ####################
  include_full_clears:
    # If enabled, locations for fully clearing levels will be created when generating the multiworld.
    # 
    # WARNING: This can be extremely difficult, especially without the proper Masters to tackle each level. Be advised.
    'false': 50
    'true': 0

  ########################
  # Target Score Options #
  ########################
  target_score_requirement_mode:
    # Determines how Target Score requirements are set.
    # 
    # Same for All Levels: A single percentage will be applied to the Target Scores of all levels
    # Random per Level: Each level will have a random percentage applied to its Target Scores
    same_for_all_levels: 50
    random_per_level: 0

  target_score_requirement_percentage:
    # Determines the percentage to apply Target Scores. You will not unlock location checks until
    # you reach or exceed the Target Scores on a given level.
    # 
    # When the requirement mode is set to random per level, the specified percentage will act as the maximum possible.
    # 
    # The Peggle Nights Archipelago client will display the expected scores for each level under the Peggle Nights tab.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 150
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-150: 0 # random value between 50 and 150

  ####################
  # Gameplay Options #
  ####################
  maximum_starting_ball_count:
    # Determines the number of balls you will start with after receiving all Progressive Starting Ball Increase items.
    # 
    # Some of the logic will pivot on this value.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 8
    # Maximum value is 20
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-8-20: 0 # random value between 8 and 20

  #######################
  # Useful Item Options #
  #######################
  useful_item_percentage:
    # Determines what percentage of filler items will get converted to useful items.
    # 
    # Useful items are: Fever Meter Permanent Bonus, Full Clear Discount, Score Multiplier, Target Score Discount.
    # 
    # These will make the game slightly easier, but are also level-specific for balance purposes.
    # 
    # The Peggle Nights Archipelago client will display the useful items assigned to each level under the Peggle Nights
    # tab.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  useful_item_weights:
    # Determines the relative weights of each useful item type when a useful item replaces a filler item.
    # 
    # Each weight needs to be at least 1.
    Fever Meter Permanent Bonus: 1
    Full Clear Discount: 1
    Score Multiplier: 1
    Target Score Discount: 1

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
